<?php
session_start();

function xlsBOF() {
   echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
   return;
}


function xlsEOF() {
    echo pack("ss", 0x0A, 0x00);
    return;
}

function xlsWriteLabel($Row, $Col, $Value ) {
    $L = strlen($Value);
    echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
    echo $Value;
    return;
}


include_once('libs/db.php');


$q="SELECT 
           tipos_libro.nombre libro, 
           DATE_FORMAT(fecha_hora_evento, '%d-%m-%Y %H:%i') fecha_hora_evento,
		   libro.login ,
           DATE_FORMAT(libro.update_ts, '%d-%m-%Y %H:%i') fecha_hora_modificacion ,
           tof.observacion obs_fijas ,
           num_sap ,
           CONCAT(config_global.valor , '-', e.codigo_unidad, '-',e.codigo_b, '-',e.codigo_c, '-',e.codigo_d, '-',e.codigo_extra  ) elemento,
           lo.observacion ,
           if (id_libro_remplaza = 0 , 'Original','Correccion') original_o_correccion,
           if (libro.update_st = 0,'Activo','Baja') estado   
           FROM libro 
         JOIN libro_observaciones lo USING (id_libro)   
		 JOIN tipos_libro USING (id_tipos_libro)
		 JOIN config_global ON (config_global.propiedad = 'abreviatura')
		 LEFT JOIN ELEMENTOS e USING ( id_elemento ) 
		 LEFT JOIN tipos_libro_observaciones_fijas tof USING (id_tipos_libro_observacion )
		 WHERE libro.id_tipo_info = 2 AND 
		       libro.id_tipos_libro = ".$_SESSION['id_tipos_libro']."  
		 ";
		 //"AND libro.update_st = 0 ";
//"AND DATE(fecha_hora_evento) BETWEEN '{$fechad}' AND '{$fechah}' ";

if (isset($_SESSION[ 'fechad' ])) {
   		$fechad=$_SESSION[ 'fechad' ];	
   		$fechah=$_SESSION[ 'fechah' ];	
    	$q .=" AND DATE(fecha_hora_evento) BETWEEN '{$fechad}' AND '{$fechah}' " ;	
}
   

//echo $q;


$qr=mysql_query( $q ) or die( mysql_error() );

header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");

//this line is important its makes the file name
header("Content-Disposition: attachment;filename=export_libro.xls ");

header("Content-Transfer-Encoding: binary ");

// start the file
xlsBOF();

// these will be used for keeping things in order.
$col = 0;
$row = 0;

// This tells us that we are on the first row
$first = true;

while( $qrow = mysql_fetch_assoc( $qr ) )
{
// Ok we are on the first row
// lets make some headers of sorts
if( $first )
{
foreach( $qrow as $k => $v )
{
// take the key and make label
// make it uppper case and replace _ with ' '
xlsWriteLabel( $row, $col, strtoupper( ereg_replace( "_" , " " , $k ) ) );
$col++;
}

// prepare for the first real data row
$col = 0;
$row++;
$first = false;
}

// go through the data
foreach( $qrow as $k => $v )
{
// write it out
xlsWriteLabel( $row, $col, $v );
$col++;
}
// reset col and goto next row
$col = 0;
$row++;
}

xlsEOF();
exit();
?>
